package day_06;

/**
 * @ClassName StringCompare
 * @Description TODO
 * @Author hp
 * @Date 2021/6/8 18:06
 * @Version 1.0
 **/
public class StringCompare {

    public static void main(String[] args) {
        System.out.println(compare("hello","world"));//ol
        System.out.println(compare("chai","wolrd"));
        System.out.println(compare("atguigu","java"));
        System.out.println(compare("samething","string","thin"));
    }
    public  static  String compare(String...strings){
        String str = "";
        boolean[] booleans = new boolean[26];//定义存储26个英文字母是否有重复的标志变量数组。
        for (int letter = 'a'; letter <='z' ; letter++) {      //从a到z进行循环，假设字符在单词中出现过。
            boolean flag = true;                                //先假设字符出现过。
            for (int i = 0; i <strings.length ; i++) {          //获取传过来的参数长度进行一一遍历。
                boolean flag1 = false;                          //假设字符没有出现过
                for (int j = 0; j <strings[i].length() ; j++) { //获得每个单词的长度，方便截取出来进行判断。
                    if (strings[i].charAt(j)==letter){
                            flag1=true;
                            break;                              //如果出现了，将标志改为true然后跳出本次循环，去判断下个单词是否有这个字符
                    }
                }
                if (flag1==false){                              //如果没有出现，将标志改为false，然后直接跳出循环，进行下个字符的判断。因为一个单词没有其他单词也不可能重复这个字符
                    flag = false;
                    break;
                }
            }
            if(flag){
                booleans[letter-97]=true;
            }

        }
        for (int i = 0; i <booleans.length ; i++) {
            if (booleans[i]==true){
                str+=(char)(i+97);
            }
        }
        return str;
    }
}
